import { Category } from 'server/models/Category'
import { successResponse, errorResponse } from 'server/utils/response'

export default defineEventHandler(async (event) => {
  try {
    const categoryId = getRouterParam(event, 'id')
    if (!categoryId) {
      return errorResponse('参数错误', '分类ID不能为空')
    }

    // 检查分类是否存在
    const existingCategory = await Category.getById(categoryId)
    if (!existingCategory) {
      return errorResponse('分类不存在', '指定的分类不存在')
    }

    // 检查分类下是否有项目
    if (existingCategory.post_count && existingCategory.post_count > 0) {
      return errorResponse('删除失败', '该分类下还有项目，无法删除')
    }

    const success = await Category.delete(categoryId)
    
    if (!success) {
      return errorResponse('删除失败', '分类删除失败')
    }

    return successResponse(null, '分类删除成功')
  } catch (error) {
    console.error('删除分类失败:', error)
    return errorResponse('删除分类失败', error instanceof Error ? error.message : '未知错误')
  }
})